package grupobbva.pe.operhc.dao;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import grupobbva.pe.operhc.domain.Parametro;
import grupobbva.pe.operhc.service.BaseSqlMapDao;

import org.apache.log4j.Logger;

import com.ibatis.dao.client.DaoManager;

public class DisclamerDAOImpl extends BaseSqlMapDao implements DisclamerDAO {
	
	private static Logger logger = Logger.getLogger(ParametroDAOImpl.class);
	
	public DisclamerDAOImpl(DaoManager daoManager){
		super(daoManager);
	}
	
	
	public void executeLoadDisclamer(String strFechaProceso,String strNombreArchivo,String strTipoCarga) throws Exception{
		HashMap params = new HashMap();
		params.put("fechaProceso", strFechaProceso);
		params.put("nombreArchivo", strNombreArchivo);
		params.put("tipoCarga", strTipoCarga);
		queryForObject("Operativizacion.cargarDisclamer", params);

	}
	
	public String getValParameterByCode(String codParametro, String codTipoParametro) {
		
		Map<String, String> mapParam = new HashMap<String, String>();
		mapParam.put("codParametro", codParametro);
		mapParam.put("codTipoParametro", codTipoParametro);
		
		return (String)queryForObject("Operativizacion.getValParameterByCode", mapParam);
	}
	
	public List<Parametro> getParametersByParameterType(String codTipoParametro) {
		return queryForList("Operativizacion.getParametersByParameterType", codTipoParametro);
	}
	

	public Long validaCargaEnProceso(String codigoMonitor) throws Exception{
		HashMap params = new HashMap();
		params.put("codigoMonitor", codigoMonitor);		
		queryForObject("Operativizacion.validaCargaEnProceso", params);
		String idAutorizacion = String.valueOf(params.get("idAutorizacion"));
		return Long.parseLong(idAutorizacion);

	}
	
	public int validaCargaAutomatica(String fechaVerificacion,String idArchivo) throws Exception{
		HashMap params = new HashMap();
		params.put("fechaVerificacion", fechaVerificacion);		
		params.put("idArchivoVerificacion", idArchivo);	
		queryForObject("Operativizacion.validaCargaAutomatica", params);
		int idAutorizacion = (Integer)params.get("contVerificacidor");		
		return idAutorizacion;
	}
	
	public void updateMonitorInactivo(String codigo) throws Exception{
		
		Map<String, String> mapParam = new HashMap<String, String>();
		try {
			mapParam = new HashMap<String, String>();
			mapParam.put("codigoMonitor", codigo);			
			update("Operativizacion.updateMonitorInactivo", mapParam);	
		} catch (Exception e) {
			throw new Exception(e.getMessage());
		}
	}

}
